package com.hl.vcd.service.impl;

import com.hl.common.result.R;
import com.hl.vcd.service.CmsService;
import com.hl.vcd.utils.ConstantPropertiesUtil;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.springframework.stereotype.Service;

/**
 * @author 朱炫达
 */
@Service
public class CmsServiceImpl implements CmsService {

    @Override
    public R sendEmail(String addressee, String code,Integer type) {
        HtmlEmail email = new HtmlEmail();
        email.setHostName(ConstantPropertiesUtil.MAIL_HOST); //邮箱服务器
        email.setCharset("utf-8"); //编码类型
        try {
            email.addTo(addressee); //收件人
        } catch (EmailException e) {
            e.printStackTrace();
            return R.error().message("收件人不存在");
        }
        try {
            email.setFrom(ConstantPropertiesUtil.MAIL_ACCOUNT,ConstantPropertiesUtil.MAIL_USERNAME); //发件人 用户名
        } catch (EmailException e) {
            e.printStackTrace();
            return R.error().message("邮件服务器错误");
        }
        try {
            email.setAuthentication(ConstantPropertiesUtil.MAIL_ACCOUNT,ConstantPropertiesUtil.MAIL_CODE); //设置发送人的邮箱和授权码
            email.setSubject("在线视频点播平台验证码"); //设置发送主题
            if (type == 1){
                email.setMsg("您正在注册在线视频点播平台，验证码为："+code+"，五分钟内有效。\n\n若不是您在注册，请注意信息是否泄露。\n\n---在线视频点播平台"); //邮件正文
            }
            else if (type == 2){
                email.setMsg("您正在修改在线视频点播平台密码，验证码为："+code+"，五分钟内有效。\n\n若不是您在修改密码，请注意信息是否泄露。\n\n---在线视频点播平台"); //邮件正文
            }

            email.send();
        } catch (EmailException e) {
            e.printStackTrace();
            return R.error().message("邮件发送失败");
        }
        return R.ok().message("邮件发送成功");
    }
}
